home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CICA Windows Explosion!
/
The CICA Windows Explosion! - Disc 2.iso
/
winsock
/
ircii2-6.zip
/
SRC\IRCII-2.6\INCLUDE\SCREEN.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-01-04
|
3KB
|
138 lines
/*
* screen.h: header for screen.c
*
* Written by Matthew Green.
*
* Copyright (C) 1993.
*
* See the copyright file, or type help ircii copyright
*
* @(#)$Id: screen.h,v 1.6 1994/07/02 02:38:10 mrg Stab $
*/
#ifndef _SCREEN_H_
#define _SCREEN_H_
#include "window.h"
#define WAIT_PROMPT_LINE 0x01
#define WAIT_PROMPT_KEY 0x02
typedef struct PromptStru
{
char *prompt;
char *data;
int type;
void (*func)();
struct PromptStru *next;
} WaitPrompt;
typedef struct ScreenStru
{
int screennum;
Window *current_window;
unsigned int last_window_refnum; /* reference number of the
* window that was last
* the current_window */
Window *window_list; /* List of all visible
* windows */
Window *window_list_end; /* end of visible window
* list */
Window *cursor_window; /* Last window to have
* something written to it */
int visible_windows; /* total number of windows */
WindowStack *window_stack; /* the windows here */
int meta1_hit; /* if meta1 is hit in this
* screen or not */
int meta2_hit; /* above, for meta2 */
int meta3_hit; /* above, for meta3 */
int meta4_hit; /* above, for meta4 */
int quote_hit; /* true if a key bound to
* QUOTE_CHARACTER has been
* hit. */
int digraph_hit; /* A digraph key has been hit */
int inside_menu; /* what it says. */
unsigned char digraph_first;
struct ScreenStru *prev; /* These are the Screen list */
struct ScreenStru *next; /* pointers */
FILE *fpin; /* These are the file pointers */
int fdin; /* and descriptions for the */
FILE *fpout; /* screen's input/output */
int fdout;
char input_buffer[INPUT_BUFFER_SIZE+1]; /* the input buffer */
int buffer_pos; /* and the positions for the */
int buffer_min_pos; /* screen */
char saved_input_buffer[INPUT_BUFFER_SIZE+1];
int saved_buffer_pos;
int saved_min_buffer_pos;
WaitPrompt *promptlist;
char *redirect_name;
char *redirect_token;
int redirect_server;
char *tty_name;
int co;
int li;
int alive;
#ifdef _Windows
HWND hwnd;
#endif
} Screen;
typedef struct
{
Window *which;
Screen *screen;
char visible;
} TravInfo;
/* Stuff for the screen/xterm junk */
#define ST_NOTHING -1
#define ST_SCREEN 0
#define ST_XTERM 1
/* This is here because it happens in so many places */
#define curr_scr_win current_screen->current_window
#define curr_win_screen(x) ((x)->visible ? (x)->screen : screen_list)
#define set_win_scr(x) set_current_screen(curr_win_screen(x))
extern void scrollback_forwards();
extern void scrollback_end();
extern void clear_window();
extern void recalculate_window_positions();
extern int output_line();
extern void recalculate_windows();
extern void scrollback_backwards();
extern Window *create_additional_screen();
extern void scroll_window();
extern Window *new_window();
extern void update_all_windows();
extern void add_wait_prompt();
extern void clear_all_windows();
extern void cursor_in_display();
extern int is_cursor_in_display();
extern void cursor_not_in_display();
extern void set_current_screen();
extern void redraw_resized();
extern Window *get_output_window();
extern Window *to_window;
extern Screen *current_screen;
extern Screen *main_screen;
extern Screen *last_input_screen;
extern Screen *screen_list;
#endif /* _SCREEN_H_ */